home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / programm.kit < prev    next >
Text File  |  1995-03-23  |  8KB  |  187 lines

  1. Article 1491 of comp.sys.handhelds:
  2. Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!iuvax!mailrus!uunet!microsoft!alonzo
  3. From: alonzo@microsoft.UUCP (Alonzo GARIEPY)
  4. Newsgroups: comp.sys.handhelds
  5. Subject: The HP 48 Programmer's ToolKit (review, long)
  6. Message-ID: <57750@microsoft.UUCP>
  7. Date: 26 Sep 90 07:00:28 GMT
  8. Organization: Microsoft Corp., Redmond WA
  9. Lines: 174
  10.  
  11. James Donnelly has done it again, but even better.
  12.  
  13. The HP48 Programmer's TookKit is a set of primitive functions and utilities
  14. written in native RPL and machine code by one of Hewlett Packard's HP 48SX
  15. engineers.  My copy arrived with an MS-DOS 5-1/4" floppy diskette containing
  16. HP 48 libraries and sample data, and a 124 page manual.  You will need a
  17. serial cable and IBM-PC or compatible to load the libraries onto your HP 48.
  18.  
  19. The manual is clearly written, but the typesetting looks little better
  20. than Donnelly's last effort, The HP 48 Handbook.  One of these days I'll
  21. convince him to use a better font (lower x-height and serifs, please).
  22.  
  23. It might have been better to call this package the HP 48 String/List Toolkit.
  24. It contains all the commands and utilities you need for creating, sorting,
  25. editing, searching, and viewing lists.  There are many useful primitives
  26. for dealing with strings, dates, sets, graphics objects, and something
  27. called meta objects.  Meta objects are what result when you execute
  28. LIST-> on a list.  They can be manipulated more efficiently than lists
  29. because you work with pointers to list elements instead of the elements
  30. themselves.  That is the basis of the quicksort speed-up I posted some
  31. months back.  Meta-objects avoid continual garbage collection when you
  32. are manipulating large lists of information.
  33.  
  34. I would have liked to see a more complete set of stack primitives for 
  35. meta-objects.  Among those omitted were MROT, MOVER, MDROP, and MDUP.  
  36. MDROP is equivalent to DROPN, and MDUP is equivalent to << DUP 1 + DUPN >>, 
  37. and I suppose you can use SRLL and MDUP to create your own MROT and MOVER.
  38.  
  39. If you want to use the 48 as a personal organizer, this toolkit contains
  40. the necessary primitives to handle large amounts of data without tedious
  41. programming and time consuming loops of user code.  And the built in browsers
  42. will satisfy most of your needs without writing much additional code.
  43.  
  44. Below, I have reproduced the back cover and pages 37 to 39 of the manual.
  45. A more complete table of contents appears within the manual.  There is no 
  46. index.
  47.  
  48.         The HP 48
  49.        Programmer's ToolKit        
  50.  
  51.     Getting Started          1
  52.     Character Set Catalog      5
  53.     Menu Label Builder      7
  54.     Flag Catalog         10
  55.     Data Browswer         13
  56.     Title Browser         22
  57.     Tool Library         26
  58.     Command Reference     40
  59.     Object Types        116
  60.     Character Codes        117
  61.     Character Translations    119
  62.     Flag            120
  63.     Alpha Keyboard        124
  64.  
  65.  
  66. Array Operations
  67. ----------------
  68. DELCOL        Deletes a column from an array    
  69. DELROW        Deletes a row from an array    
  70. EXCOL        Exchanges two columns in an array
  71. GETCOL        Extracts a column from an array
  72. GETROW        Extracts a row from an array
  73. INSCOL        Inserts a column into an array
  74. INSROW        Inserts a row into an array
  75. PUTCOL        Replaces a column  in an array
  76. PUTROW        Replaces a row in an array
  77.  
  78. Graphics
  79. --------
  80. PX+        Adds two grqaphics pixel coordinates
  81. PX-        Subtracts two graphics pixel coordinates
  82. PXOFF        Clears a pixel in an arbitrary graphics object
  83. PXON        Sets a pixel in an arbitrary graphics object
  84. PX?        Tests a pixel in an arbitray graphics object
  85. PX->R        Converts pixel coordinates into two real numbers
  86. ROTATE        Rotates a graphics object
  87. R->PX        Converts two real numbers into pixel coordinates
  88.  
  89. List Manipulation
  90. -----------------
  91. CAR        Returns the first object of a list
  92. CDR        Returns  a list minus its first object
  93. CUT        Splits a list into the first and remaining objects
  94. EXTRACT        Returns the mth element from each of a series of lists
  95. LSORT        Sorts a series of lists based on the mth element
  96. NXTOB        Returns the next choice from a list of choices
  97. PRVOB        Returns the previous choice from a list of choices
  98. SPLIT        Splits a list into two lists
  99. REPLACE        Replaces all occurences of an object in a list
  100. REVERSE        Reverses the order of objects in a list
  101. ROTATE        Rotates the objects in a list
  102. ->SET        Removes duplicate objects from a list
  103.  
  104. Meta-Object Utilities
  105. ---------------------
  106. MAH        Adds an object to the head of a meta-obj in position 1
  107. MAH2        Adds an object to the head of a meta-obj in position 2
  108. MAM2        Concatenates two meta-objs
  109. MAT        Adds an object to the tail of a meta-obj in position 1
  110. MAT2        Adds an object to the tail of a meta-obj in position 2
  111. MDH        Extracts an element from the head of a meta-obj in pos. 1
  112. MDH2        Extracts an element from the head of a meta-obj in pos. 2
  113. MDT        Extracts an element from the tail of a meta-obj in pos. 1
  114. MDT2        Extracts an element from the tail of a meta-obj in pos. 2
  115. ML->M        Converts lists in positions 1 and 2 into meta-objs
  116. MM->L        Converts meta-objs in positions 1 and 2 into lists
  117. MREVERSE    Reverses the order of the objects in a meta-obj
  118. MSWAP        Swaps the meta-objs in positions 1 and 2
  119. MZ2        Places an empty meta-obj in meta-stack position 2
  120.  
  121. Set Utilities
  122. -------------
  123. ADJOIN        Adds an object to a list if is unique
  124. DIFF        Returns the set difference of two lists
  125. INTERSECT    Returns the intersection between two lists
  126. SDIFF        Returns the set symmetric difference of two lists
  127. ->SET        Removes the duplicate objects from a list
  128. UNION        Returns the set union of two lists
  129.  
  130. Stack Manipulation
  131. ------------------
  132. KEEP        Keeps the bottom n objects on the stack
  133. MREVERSE    Reverses the order of the first n stack objects
  134. NDUP        Creates n copies of an object
  135. QSORT        Sorts n objects on the stack
  136. SRLL        Rotates n objects on the stack upward m times
  137. SRLLD        Rotates n objects on the stack downward m times
  138. SXCH        Exchange objects at levels m and n
  139.  
  140. String Manipulation
  141. -------------------
  142. CAR        Returns the first character of a string
  143. CDR        Returns  a string minus its first character
  144. CUT        Splits a string into the first and remaining characters
  145. ICAPS        Converts the words in a string to initial caps
  146. LCASE        Converts the characters in a string to lowercase
  147. LTRIM        Removes leading spaces and tabs from a string
  148. PUTCHR        Places character code n in a string
  149. REPLACE        Replaces all occurences of a substring in a string
  150. REVERSE        Reverses the order of characters in a string
  151. ROTATE        Rotates the characters in a string
  152. RPTSTR        Creates a string of n substrings
  153. RTRIM        Removes trailing spaces and tabs from a string
  154. SPLIT        Divides a string into two strings
  155. ->STDSTR    Converts an object to a string in standard display mode
  156. STRCON        Rapid creation of new character strings
  157. STRCTR        Centers a string in a specified number of spaces
  158. SUBNUM        Returns the character code of a string's nth character
  159. ->TIO        Converts a string to its translated form for I/O
  160. TIO->        Converts a string from its translated form for I/O
  161. TRIM        Removes leading and trailing spaces and tabs from a string
  162. UCASE        Converts the characters in a string to uppercase
  163. ->WORDS        Separates a string into individual words
  164.  
  165. Other Commands
  166. --------------
  167. DOW        Return the day of the week given a date
  168. DOY        Returns the day of the year given a date
  169. EQNVARS        Returns a liset of global variables in an equation program
  170. VFIND        Find all occurences of a variable or object type in user memory
  171. XTIME        Calculates execution times
  172.  
  173.  
  174.     The HP 48 Programmer's ToolKit,
  175.     By James Donnely
  176.     Armstrong Publishing Company
  177.     3135 NW Ashwood Drive
  178.     Corvallis, OR 97330 USA
  179.  
  180.     I imagine you could also get the TookKit through Educalc.
  181.     I have no information on price or availability.
  182.  
  183. Alonzo Gariepy                // I have no financial interest in this
  184. alonzo@microsoft            // product, but I think it is way cool.
  185.  
  186.  
  187.